package com.mark.web.stars.mapper;

import com.mark.web.stars.entity.po.Fragment;

import java.util.List;
import java.util.Map;

/**
 * @Description: 碎片dao层接口定义
 * @Author: Mark
 * @CreateDate: 2019/4/17 20:56
 * @Version: 2.0
 * @Copyright : 豆浆油条个人非正式工作室
 */
public interface FragmentMapper {

    /**
     * 新增一条碎片记录
     * @param record ：待插入的数据
     * @return ：返回影响的行数，如成功插入返回1
     */
    int insert(Fragment record);

    /**
     * 根据主键删除一条记录
     * @param id ：待删除记录的主键
     * @return ：返回影响的行数，如成功删除则返回1
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 选择性根据id更新记录
     * @param record :待更新的记录
     * @return ：返回影响的行数 ，如果成功更新则返回1
     */
    int updateByPrimaryKeySelective(Fragment record);

    /**
     * 根据id查询一条记录
     * @param id ：待查询的记录id
     * @return ：
     */
    Fragment selectByPrimaryKey(Integer id);

    /**
     * 根据条件查询所属的碎片列表信息
     * @param paramMap ：请求参数
     * <pre>
     * |--------------------------------------------|
     * |   name             necessary     type      |
     * |--------------------------------------------|
     *     currentUserId   false          int       当前用户id
     *     status          false          int       状态
     * </pre>
     */
    List<Fragment> selectFragmentByCondition(Map<String, Object> paramMap);


    /**
     * 获取前十碎片类型id、已经对应的个数
     * @return
     */
    List<Map<String,Object>> selectFragmentType();

}